MySQL函数和操作符 您所在的位置:网站首页 mysql substring用法 MySQL函数和操作符

MySQL函数和操作符

2022-03-24 12:54| 来源: 网络整理| 查看: 265

MySQL函数和操作符 1. 环境登录

无需密码自动登录,系统用户名shiyanlou

2. 环境介绍

本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序:

命令行终端: Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令

Firefox及Opera:浏览器,可以用在需要前端界面的课程里,只需要打开环境里写的HTML/JS页面即可

gvim:非常好用的Vim编辑器,最简单的用法可以参考课程Vim编辑器

gedit及Brackets:如果您对gvim的使用不熟悉,可以用这两个作为代码编辑器,其中Brackets非常适用于前端代码开发

3. 环境使用

使用GVim编辑器输入实验所需的代码及文件,使用Xfce终端(XfceTerminal)运行所需命令进行操作。

实验报告可以在个人主页中查看,其中含有每次实验的截图及笔记,以及每次实验的有效学习时间(指的是在实验桌面内操作的时间,如果没有操作,系统会记录为发呆时间)。这些都是您学习的真实性证明。

一、操作符 1.1 操作符优先级

以下列表显示了操作符优先级的由低到高的顺序。排列在同一行的操作符具有相同的优先级。

此处输入图片的描述

其中,部分操作符的优先级取决于SQL的模式:

默认情况下,||是逻辑运算符OR。当启用PIPES_AS_CONCAT模式时,||就是一个字符串连接符,优先级处于^与一元运算符之间。 默认情况下,!的优先级高于NOT。但当启用HIGH_NOT_PRECEDENCE模式时,!和NOT拥有相同的优先级。 1.2 圆括号( ... )

使用括弧来规定表达式的运算顺序,例如:

mysql> SELECT 1+2*3; mysql> SELECT (1+2)*3;

此处输入图片的描述

1.3 比较函数和操作符

比较运算产生的结果为1(TRUE)、0 (FALSE)或NULL。这些运算可用于数字和字符串。如果必要的话,字符串可自动转换为数字,而数字也可自动转换为字符串。

本节中的一些函数(如LEAST()和GREATEST())的返回值并不会返回1(TRUE)、 0 (FALSE)和NULL这样的结果。但是按照下述规则函数进行比较运算后其返回值可以为以上结果:

MySQL按照以下规则进行数值比较:

若函数中有一个或两个参数都是NULL,则比较运算的结果为NULL,除非是等号比较运算符。 若同一个比较运算中的两个参数都是字符串类型,则作为字符串进行比较。 若两个参数均为整数,则按照整数进行比较。 十六进制值在不作为数字进行比较时,则按照二进制字符串处理。 假如参数中的一个为TIMESTAMP或DATETIME数据类型,而其它参数均为常数,则在进行比较前应该将常数转为timestamp类型。这样做的目的是为了使ODBC的进行更加顺利。注意:这不用于IN()中的参数!为了更加可靠,在进行对比时通常使用完整的datetime/date/time字符串。 在其它情况下,参数作为浮点数(实数)进行比较。

在默认状态下,字符串比较不区分大小写,并使用现有字符集(默认为cp1252 Latin1,同时也适用于英语)。

为了达到比较的目的,可使用CAST()函数将某个值转为另外一种类型。使用CONVERT()可以将字符串值转为不同的字符集。

下面对各类操作符的使用进行示例:

= 等于:

mysql> SELECT 1 = 0; mysql> SELECT '0' = 0; mysql> SELECT '0.01' = 0;

此处输入图片的描述

对于行比较,(a, b) = (x, y)相当于:(a = x) AND (b = y)。

空值安全的等号:

这个操作符与=操作符执行相同的比较操作,不过在两个操作码均为NULL时,其返回至为1而不为NULL,而当一个操作码为NULL时,其所得值为0而不为NULL。

mysql> SELECT 1 1, NULL NULL, 1 NULL; mysql> SELECT 1 = 1, NULL = NULL, 1 = NULL;

此处输入图片的描述

对于行比较,(a, b) (x, y)相当于:(a x) AND (b y)。

或 != 不等于:

mysql> SELECT '.01' '0.01'; mysql> SELECT .01 '0.01'; mysql> SELECT 'zapp' 'zappp';

此处输入图片的描述

对于行比较,(a, b) (x, y)相当于:(a x) OR (b y)。

小于等于:

mysql> SELECT 0.1 (x, y)相当于:(a > x) AND (b > y)。

IS boolean_value和IS NOT boolean_value:根据一个布尔值来检验一个值,在这里,布尔值可以是TRUE、FALSE或UNKNOWN。

mysql> SELECT 1 IS TRUE, 0 IS FALSE, NULL IS UNKNOWN; mysql> SELECT 1 IS NOT UNKNOWN, 0 IS NOT UNKNOWN, NULL IS NOT UNKNOWN; # IS NULL 和 IS NOT NULL 检验一个值是否为 NULL。 mysql> SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL; mysql> SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;

此处输入图片的描述

expr BETWEEN min AND max 假如expr大于或等于min且expr小于或等于max, 则BETWEEN的返回值为1,否则是0。若所有参数都是同一类型,则上述关系相当于表达式 :min



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有